package dfs;

import java.util.Collections;
import java.util.LinkedList;
import java.util.List;

public class 顺次数 {

    //时间复杂度过高
//    public List<Integer> sequentialDigits(int low, int high) {
//        LinkedList<Integer> list = new LinkedList<>();
//        for (int i = low; i <=high; i++) {
//            if (method(i))
//                list.add(i);
//        }
//        return list;
//    }
//    public boolean method(int n){
//        String s = String.valueOf(n);
//        int num=0;
//        for (int i = 1; i < s.length(); i++) {
//            if (s.charAt(i)-s.charAt(i-1)==1)
//                num++;
//        }
//        return num==s.length()-1;
//    }

    public List<Integer> sequentialDigits(int low, int high){
        List<Integer> list = new LinkedList<>();
        for (int i = 1; i <=9 ; i++) {
            int num=i;
            for (int j = i+1; j <=9 ; j++) {
                  num=num*10+j;
                  if (num>=low && num<=high)
                      list.add(num);
            }
        }
        Collections.sort(list);
        return list;
    }

}
